from snakemake.utils import min_version

##### set minimum snakemake version #####
# This workflow is tested with snakemake version 8.28.0

min_version("8.25.3")

##### setup report #####
configfile: "config/config.yaml"


##### load rules #####


include: "rules/common.smk"
include: "rules/ref.smk"
include: "rules/seq.smk"
include: "rules/counts.smk"
include: "rules/align.smk"
include: "rules/new_gene.smk"
include: "rules/post.smk"
include: "rules/downstream.smk"


##### target rules #####


rule upstream:
	input:
		get_upstream_output(),

rule sra:
	input:
		directory(config["SRA"]["output_dir"])

rule downstream:
	input:
		get_downstream_input(),

rule all:
	input:
		get_final_input(),
	default_target: True


